The present invention relates to computer networks and more particularly to the real time monitoring of network resources that have performance goals (service level objectives).
The term “network resource” is a term that should be interpreted broadly enough to cover almost any hardware or software included in a computer network. The term includes, but is not limited to, special-purpose hardware devices such as switches, routers, hubs, content servers, network storage devices, etc., including the control programs for such hardware devices. The term also includes application programs that execute on either special-purpose or general purpose hardware components.
Some network resources are expected to meet certain performance goals or service level objectives during their operation. A simple example of a service level objective is that queries received from preferred customers must be responded to within two seconds. Typically, the performance of managed network resources is tracked by a network monitor, itself another network resource to whom events occurring at a managed network resource are reported. The network monitor is aware of the performance goals of the managed network resource and applies rules to the reported events in order to determine whether the service level objectives of the managed resource are being met.
A network monitor is, of course, expected to monitor more than a single network resource. Dozens or even hundreds of network resources may be monitored by a single network monitor. To keep track of the network resources that it manages, a network monitor makes use of a configuration management database (CMDB), a repository that stores authorized configurations of the managed network resources and the relationships among such resources. The network monitor may work directly with a configuration management database or indirectly with the database through a higher level network manager that works with multiple network monitors.
When a new network resource is added to a computer network, the network manager usually learns of the presence of the new resource in one of two ways. In one type of system, commonly called a registration system, the new resource advertises its own presence by broadcasting one or more registration request messages. When a registration request message is received at a network manager, the manager takes the steps necessary to see that the new resource is added to a list of managed resources and is associated with a particular network monitor. In another type of system, commonly called a polling system, a network manager periodically sends out polling messages that request information from devices receiving the polling messages. A new device responds to a polling message by making its presence known to the network manager.
While the presence of new resources in a computer network may be automatically detected, the process of configuring those new resources is still largely a manual process performed by system administrators. Information about the resources, including any service level objectives, is obtained independently of the registration or polling process, and used to establish the configuration recorded in the configuration management database.